package wh.coach._collection;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;

/**
 * @author hangwen
 * @date 2023/6/25
 */
public class _LinkedList {
    public static void main(String[] args) {
        List<Integer> arrayList = new ArrayList<>();
        List<Integer> linkedList = new LinkedList<>();

        //实现了List接口，用法和ArrayList一致
        //但数据结构有重大差异
        //数组：支持随机访问，但有扩容现象
        //链表：不支持随机访问，且有个包装对象（这意味着更大的内存成本）但增删改成本较低

        // 随机访问

        //最佳实践：以下情况下使用ArrayList
        //1.初始化时，即确认集合大小，避免扩容
        //2.无法精确确认大小，但可以确认总量不大，即：扩容的副作用不大
        //3.综合来看，很少有LinkedList的使用场景

    }
}
